

import java.util.*;

class Demo {

    static Object max(Collection bag) {
	Object max = null;
	Iterator i = bag.iterator();
	if (i.hasNext())
	    max = i.next();
	while (i.hasNext()) {
	    Comparable item = (Comparable)i.next();
	    if (item.compareTo(max) > 0)
		max = item;
	}
	return max;
    }

    static void reverse(List list) {
	int i = 0;
	int j = list.size() - 1;
	while (i < j) {
	    Object one = list.get(i);
	    Object two = list.get(j);
	    list.set(i, two);
	    list.set(j, one);
	    i++;
	    j--;
	}
    }

    public static void main(String[] args) {

	List names = new ArrayList();

	names.add("Mark");
	names.add("John");
	names.add("Mary");
	names.add("Jane");
	names.add("John");
	names.add("Mary");
	System.out.println(names);

	names.remove("Mary");
	System.out.println(names);

	System.out.println(max(names));

	reverse(names);
	System.out.println(names);


	List nums = new LinkedList();
	nums.add(new Integer(2));
	nums.add(new Integer(64));
	nums.add(new Integer(16));
	nums.add(new Integer(32));
	nums.add(new Integer(8));
	nums.add(new Integer(64));
	nums.add(new Integer(16));
	System.out.println(nums);

	nums.remove(new Integer(16));
	nums.remove(new Integer(64));
	System.out.println(nums);

	System.out.println(max(nums));

	reverse(nums);
	System.out.println(nums);
    }

}

